"""
@-*- coding: utf-8 -*-
@ python：python 3.8
@ 创建人员：ylx
@ 创建时间：2025/4/9 下午1:53
@ 内容：
"""
import pytest
import os
import shutil
from common.allure_util import *
from common.base_util import *

# 注意事项:
# 每次全量执行完脚本需要手动删除170环境通过脚本上传的@qa_test/py_armory_1@1.0.0软件包
# 删除本地初始化的D盘目录下- @qa_test目录，删除py_armory_3，删除项目下@qa_test软件包
# 确保远程板卡可用
# 确保170环境可用，且已经新建组织@qa_test,对应的登录账号有权限发布新软件包，授予登录账号管理员权限
# 确保对应的组织，未开启发布软件包版本确认审批选项


if __name__ == '__main__':
    # 整体入口，触发pytest.ini中相关配置的执行规范
    #如执行框架时的相关参数，名称规范，执行路径等
    pytest.main()

    # 将环境参数文件复制到temp文件夹内，让执行allure报告时，可以读取
    shutil.copy("./environment.xml", "./temp")

    # 加载allure allure报告生成的临时的json文件
    os.system('allure generate ./temp -o ./reports --clean')

    # 执行上述命令时，将下述参数加入至 pytest.ini adopt 参数中，用于生成allure报告需要的临时的
    # temp文件夹及文件夹内相关的json文件
    # --alluredir ./temp --clean-alluredir

    # 调用set_windows_title方法，设置测试报告浏览器窗口title
    path1 = r'D:/auto_armory/reports/index.html'
    set_windows_title(path1, "Allure Report", "Armory client report")

    # 调用set_report_title方法，设置测试报告报告title
    path2 = r'D:/auto_armory/reports/widgets/summary.json'
    set_report_title(path2, 'reportName', 'Armory client 自动化测试报告')

    # 删除初始化生成的相关软件包文件夹,若你执行的是全部的测试用例/或执行了test_05创建文件夹及文件的命令，可以执行此清理数据
    print("[info]清理环境-删除在本地初始化生成的armory 软件包")
    cmd = CMDSession()
    cmd.execute_1("rm -rf @qa_test")
    cmd.execute_1("cd d:/")
    cmd.execute_1("rm -rf @qa_test")
    cmd.execute_1("rm -rf py_armory_3")
